Hypervisor

What is Hypervisor?

A hypervisor is software that enables virtualization, allowing multiple operating systems (OSs) or virtual machines (VMs) to run on a single physical computer or server. Without virtualization, you can only run one operating system on the hardware. A hypervisor acts as an intermediary layer between the physical hardware and the virtualized environments, managing and allocating resources like CPU, memory, and storage to the virtual machines.

There are two main types of hypervisors:

  • Type 1 Hypervisor (Bare-Metal): This hypervisor runs directly on the physical hardware without the need for an underlying OS. It is typically used in enterprise environments and provides better performance and security compared to Type 2 hypervisors.
  • Type 2 Hypervisor (Hosted): This hypervisor runs on top of an existing operating system. It's often used for development, testing, or running VMs on desktops or laptops, but it may not offer the same level of performance and isolation as Type 1 hypervisors.

Hypervisors play an essential role in server virtualization, cloud computing, and creating isolated testing or development environments. They allow organizations to consolidate hardware, improve resource utilization, and efficiently manage their IT infrastructure.


What are the most widely used Hypervisors?

Some of the most popular hypervisors in use are:

  • VMware vSphere/ESXi: VMware's virtualization solutions, including the enterprise hypervisor vSphere/ESXi, have been widely adopted in datacenter environments for their reliability, performance, and comprehensive feature set. ESXi is a Type 1 hypervisor. VMware also offers VMware Workstation which is a Type-2 hypervisor and allows a user to run Windows, Linux and BSD virtual machines on a Windows or Linux desktop.
  • Microsoft Hyper-V: Hyper-V is Microsoft's Type-1 hypervisor technology, often used by organizations that are heavily invested in the Microsoft ecosystem. It's commonly deployed in Windows-based environments and integrates well with Windows Server.
  • KVM (Kernel-based Virtual Machine): KVM is a popular open-source Type 1 hypervisor for Linux. It is a component of the Linux kernel and is commonly used in combination with QEMU for virtualization on Linux servers. Commercial enterprise variants of KVM are available which offer support and additional features such as Red Hat Virtualization (formerly known as Red Hat Enterprise Virtualization or RHEV).
  • Nutanix AHV: AHV (originally the Acropolis Hypervisor) is a Type 1, enterprise-grade hypervisor designed for virtualization and cloud computing. It is part of the Nutanix hyper-converged infrastructure platform.
  • Proxmox VE: Proxmox VE is a complete, open-source server management platform for enterprise virtualization. It tightly integrates the KVM hypervisor and Linux Containers (LXC), software-defined storage and networking functionality, on a single platform. It is a type-2 hypervisor.
  • Xen: Xen is another open-source Type 1 hypervisor that has been used in both enterprise and cloud computing environments.
  • Oracle VM VirtualBox: VirtualBox is a popular open-source Type 2 hypervisor that's widely used for development, testing, and desktop virtualization. It's known for its user-friendly interface and is available on various platforms.
  • XenServer: XenServer (formally Citrix XenServer and then the Citrix Hypervisor) is a commercial virtualization platform based on Xen offering additional enterprise features and support.

What are the benefits of using a Hypervisor?

Organizations typically adopt virtualization and use hypervisors for the following benefits:

  • Resource Efficiency: Hypervisors enable the efficient utilization of hardware resources by running multiple virtual machines (VMs) on a single physical server. This consolidation reduces hardware costs, power consumption, and space requirements.
  • Isolation and Security: VMs are isolated from one another and the host system, enhancing security and stability. If one VM experiences issues or security breaches, it doesn't impact other VMs or the host, improving overall system reliability.
  • Flexibility and Scalability: Hypervisors provide agility by allowing rapid deployment, cloning, and movement of VMs across physical servers. This flexibility is essential for scaling infrastructure, testing, and disaster recovery.
  • Cost Savings and Management: Virtualization simplifies management through centralized tools and reduces hardware expenses. It also offers features like snapshots and backups, enhancing data protection and reducing operational complexity.

What workloads typically run on a Hypervisor?

Hypervisors are versatile and can host a wide range of workloads. Some types of workloads that typically run on a hypervisor are:

  • Server Virtualization: This is probably the most common workload for hypervisors. Organizations use virtualization to run multiple virtual servers (VMs) on a single physical server, consolidating their IT infrastructure. These VMs often host various services, such as web servers, application servers, and database servers.
  • Development and Testing Environments: Hypervisors are used to create isolated development and testing environments. Developers can quickly spin up VMs to test new software, configurations, or updates without affecting production systems. This helps ensure the stability and quality of applications before deployment.
  • Desktop Virtualization (VDI): Virtual Desktop Infrastructure (VDI) workloads involve running virtualized desktop environments on servers. Users access these desktops remotely, which simplifies desktop management, provides flexibility, and enhances security. VDI is common in organizations with remote or distributed workforces. Popular vendors include Citrix and VMware.
  • Disaster Recovery: Hypervisors play a key role in disaster recovery by replicating VMs to remote locations. In the event of hardware failures, data loss, or disasters, these replicated VMs can be quickly activated to maintain business continuity.
  • Cloud Platforms: Hypervisors are used by the hyperscale cloud providers such as Amazon AWS, Google GCP and Microsoft Azure to deliver their services. Increasingly many are moving away from on-prem servers and on-prem VDI to use cloud provider services where they are abstracted away from the maintenance and details of the hypervisor.
  • Test and Staging Environments: Organizations often use hypervisors to create test and staging environments that mirror their production systems. This allows for thorough testing of changes, updates, or new software releases before implementing them in the production environment, reducing the risk of disruptions.
  • Containers: Modern applications and microservice architectures are increasing the use of containers. Some hypervisors such as vSphere / ESXi have been rearchitected to support containers. VMware now offers Tanzu to enable Kubernetes orchestration on vSphere.

Container vs Virtual Machine

Information on containers and the differences between containers and virtual machines is available, here: The Ultimate Guide to Containers and Why You Need Them (eginnovations.com).


What key metrics and signals should you proactively monitor on a Hypervisor?

Monitoring a hypervisor is essential for ensuring the health and performance of virtualized environments. Key metrics to monitor on a hypervisor typically include:

  • CPU Utilization: Track CPU usage to ensure that physical CPU resources are not overcommitted. High CPU usage can lead to performance degradation.
  • Memory Usage: Monitor memory utilization to prevent memory overcommitment, which can lead to virtual machine (VM) slowdowns or crashes.
  • Storage I/O: Keep an eye on storage I/O metrics, such as read and write rates, latency, and queue lengths, to identify potential bottlenecks.
  • Network Throughput: Monitor network traffic to detect network bottlenecks or issues with virtual switches and network interfaces.
  • Hypervisor Health: Check the overall health of the hypervisor, including its CPU, memory, and disk usage, to ensure it's not a point of failure.
  • Virtual Machine Performance: Track the performance of individual VMs, including CPU, memory, and disk usage, to identify resource-intensive VMs or potential issues.
  • Resource Allocation: Ensure that VMs are allocated the appropriate amount of CPU, memory, and storage resources. Resource allocation mismatches can lead to performance problems.
  • Snapshot Usage: Keep tabs on the number and size of VM snapshots, as excessive snapshots can impact performance and consume storage space.
  • Hypervisor Host Hardware: Monitor the health of the physical server hosting the hypervisor, including temperature, fan speed, and hardware component status.
  • Resource Reservations: Check if VMs have resource reservations to guarantee minimum resource availability, especially for critical workloads.
  • Hypervisor Configuration Changes: Monitor for any changes in the hypervisor's configuration that may impact VM performance or security.
  • Security and Compliance: Keep an eye on security-related metrics, such as failed login attempts or unauthorized access, to ensure compliance with security policies.
  • VM Power State: Ensure VMs are in the correct power state (e.g., powered on or off) to optimize resource utilization and security.
  • Hypervisor Logs: Review hypervisor logs for errors, warnings, and informational messages that may indicate issues or changes in the environment.
  • Resource Pool Usage: If using resource pools or clusters, monitor their resource usage to ensure effective workload distribution.
  • License Usage: Monitor hypervisor license usage to ensure compliance and prevent unexpected licensing issues.
  • Long-Term Trends: Analyze historical data to identify trends and forecast resource requirements for capacity planning.

Hypervisor vendors make metrics and logs available to monitoring tools by a variety of mechanisms including via proprietary APIs. It's essential to use monitoring and management tools designed for your specific hypervisor platform, such as VMware vSphere, Microsoft Hyper-V, or XenServer, to effectively collect and analyze these metrics. Regularly reviewing these metrics will help you proactively manage and optimize your virtualized environment while ensuring optimal performance and resource allocation.


What is inside–outside monitoring?

eG Enterprise's unique, patented 'inside-outside' monitoring technology delivers both depth and breadth of insight into virtual infrastructures. The 'outside view' of a VM indicates the hypervisor's physical resources used by a VM, while the 'inside view' of the VM highlights which applications and users are responsible for the resource usage. Learn more: 360 Degree Visibility of Virtual Machines – Inside and Outside (eginnovations.com).


Challenges with monitoring Multi-Hypervisor environments

When a hypervisor is selected for a particular requirement, monitoring and management is often not the main consideration. Each hypervisor has its own administration and monitoring tool built in. If an organization is using vendor-specific tools for each hypervisor platform, there can be no centralized monitoring:

  • It becomes very difficult to analyze resource utilization across reports from multiple tools to determine when and where to add more capacity.
  • IT personnel need to be trained to use different tools – which requires extensive time and manual effort.
  • Each hypervisor platform will become its own silo without correlated visibility across the rest of the infrastructure.
  • Without a central and unified view of the entire virtualized environment, it is hard to make decisions on moving VM workloads from one hypervisor platform to another.

For information on supporting multi-hypervisor environments, please see: Hypervisor and Multi-hypervisor Monitoring | eG Innovations.


Can I monitor a Hypervisor using Nagios?

Many hypervisors are based on a Linux kernel and run a privileged domain which is essentially a Linux OS. Whilst it is often possible to insert Nagios and other Linux monitoring tools into a hypervisor, most commercially supported vendors stipulate that this is unsupported and invalidates their support agreements, i.e., you will not be able to raise support tickets for problems with your hypervisor. As such, when selecting monitoring tools, you should look for a solution certified by the hypervisor vendor e.g., via the Citrix Ready or VMware Ready partner validation programs.